/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package dao;

import java.sql.SQLException;
import junit.framework.Assert;
import model.Usuario;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

/**
 *
 * @author fundamental
 */
public class UsuarioDuplicadoTest {

    private UsuarioDao usuarioDao;

    public UsuarioDuplicadoTest() {
    }

    @BeforeClass
    public static void setUpClass() throws Exception {
    }

    @AfterClass
    public static void tearDownClass() throws Exception {
    }

    @Before
    public void setUp() {
        usuarioDao = new UsuarioDao();
    }

    @After
    public void tearDown() {
        usuarioDao = null;
    }

    // TODO add test methods here.
    // The methods must be annotated with annotation @Test. For example:
    //
    // @Test
    // public void hello() {}

    @Test
    public void testNaoDeveAceitarUsuariosComMesmoLogin()
    {
        Usuario usuario = new Usuario();
        
        usuario.setLogin("dwildt");
        usuario.setNome("Daniel Wildt");
        usuario.setSenha("123");
        
        try {
            usuarioDao.insere(usuario);
        } 
        catch (Exception e) {
            Assert.fail("Deveria ter conseguido inserir usuário Daniel Wildt");
        }

        usuario.setLogin("dwildt");
        usuario.setNome("Danilo Wildt");
        usuario.setSenha("123");

        try {
            usuarioDao.insere(usuario);
            Assert.fail("Não deveria ter conseguido inserir usuário Danilo Wildt");
        }
        catch (UsuarioDuplicadoException ude) {
            ude.printStackTrace();
        }
        catch (Exception ex) {
            Assert.fail("Deveria ter lançado UsuarioDuplicadoException");
        }

    }

}